package pl.vanta.mjuzik2.api;

import java.awt.Color;
import java.awt.Rectangle;
import java.util.concurrent.TimeUnit;

import pl.vanta.utils.commons.formats.TimeFormat;

public class Options
{
	boolean				sortOnLoad;
	boolean				shuffle;
	boolean				cyclePlaylist;
	boolean				lazyPlaylistLoading;
	boolean				checkFilePresenceOnLoad;

	private Rectangle	windowBounds;

	private Color		playingFileSelectionColor;

	private TimeFormat	timeFormat;

	public Options()
	{
		this.sortOnLoad = true;
		this.cyclePlaylist = true;
		this.lazyPlaylistLoading = true;

		this.playingFileSelectionColor = Color.RED;

		this.timeFormat = new TimeFormat("%m:%s", TimeUnit.MILLISECONDS);
	}

	public boolean isSortOnLoad()
	{
		return this.sortOnLoad;
	}

	public void setSortOnLoad(boolean sortOnLoad)
	{
		this.sortOnLoad = sortOnLoad;
	}

	public boolean isShuffle()
	{
		return this.shuffle;
	}

	public void setShuffle(boolean shuffle)
	{
		this.shuffle = shuffle;
	}

	public boolean isCyclePlaylist()
	{
		return this.cyclePlaylist;
	}

	public void setCyclePlaylist(boolean cyclePlaylist)
	{
		this.cyclePlaylist = cyclePlaylist;
	}

	public boolean isLazyPlaylistLoading()
	{
		return this.lazyPlaylistLoading;
	}

	public void setLazyPlaylistLoading(boolean lazyPlaylistLoading)
	{
		this.lazyPlaylistLoading = lazyPlaylistLoading;
	}

	public boolean isCheckFilePresenceOnLoad()
	{
		return this.checkFilePresenceOnLoad;
	}

	public void setCheckFilePresenceOnLoad(boolean checkFilePresenceOnLoad)
	{
		this.checkFilePresenceOnLoad = checkFilePresenceOnLoad;
	}

	public Color getPlayingFileSelectionColor()
	{
		return this.playingFileSelectionColor;
	}

	public void setPlayingFileSelectionColor(Color playingFileSelectionColor)
	{
		this.playingFileSelectionColor = playingFileSelectionColor;
	}

	public TimeFormat getTimeFormat()
	{
		return this.timeFormat;
	}

	public void setTimeFormat(TimeFormat timeFormat)
	{
		this.timeFormat = timeFormat;
	}

	public Rectangle getWindowBounds()
	{
		return this.windowBounds;
	}

	public void setWindowBounds(Rectangle windowBounds)
	{
		this.windowBounds = windowBounds;
	}
}